﻿////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// <copyright>Copyright 2008-2011 Andreas Huber Doenni</copyright>
// Distributed under the Microsoft Public License (Ms-PL).
// See accompanying file License.txt or copy at http://mews.codeplex.com/license.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

namespace Mews.Net.Nntp.Cache
{
    /// <summary>Provides constants for the names used in the InboundArticle table.</summary>
    internal static class InboundArticleNames
    {
        internal const string Table = "InboundArticle";

        internal const string GroupIdColumn = "GroupId";
        internal const string NumberColumn = "Number";
        internal const string ReferencesNumberColumn = "ReferencesNumber";
        internal const string OriginalNumberColumn = "OriginalNumber";
        internal const string DateUtcColumn = "DateUtc";
        internal const string FromColumn = "From";
        internal const string SubjectColumn = "Subject";
        internal const string HasHeaderBeenReceivedColumn = "HasHeaderBeenReceived";
        internal const string HasBodyBeenReceivedColumn = "HasBodyBeenReceived";
        internal const string ReceiveFullArticleColumn = "ReceiveFullArticle";
        internal const string HasAttachmentsColumn = "HasAttachments";
        internal const string IsBeingWatchedColumn = "IsBeingWatched";
        internal const string IsExpandedColumn = "IsExpanded";
        internal const string HasBeenReadColumn = "HasBeenRead";

        internal static readonly string[] InsertableColumns =
        {
            GroupIdColumn,
            NumberColumn,
            ReferencesNumberColumn,
            OriginalNumberColumn,
            DateUtcColumn,
            FromColumn,
            SubjectColumn,
            HasHeaderBeenReceivedColumn,
            HasBodyBeenReceivedColumn,
            ReceiveFullArticleColumn,
            HasAttachmentsColumn,
            IsBeingWatchedColumn,
        };

        internal const string GroupIdReferencesNumberIndex = "GroupIdReferencesNumber";
        internal const string GroupIdReceiveFullArticleIndex = "GroupIdReceiveFullArticle";
        internal const string GroupIdIsBeingWatchedHasBeenReadIndex = "GroupIdIsBeingWatchedHasBeenRead";
        internal const string GroupIdHasBeenReadIndex = "GroupIdHasBeenRead";
    }
}
